Hallo liebe Besitzer eines Scisys/Saitek-Bretts mit OSA-Schnittstelle,

die beiden Programme OSA2UCI und OSA-Board sind Motoren (Engines) fr das bekannte und beliebte Programm "Arena".
Man kann auch andere UCI komaptible Programme (z. B. Shredder) verwenden.
Man kann die OSA-Boards nun entweder als Motor einbinden (OSA2UCI) und gegen andere Motoren automatisch spielen lassen
oder selbst am Brett (OSA-Board) gegen eine andere Engine von Arena antreten.

OSA-Book, OSA-Save und OSA-Load laufen nicht mit Arena und dienen zum Laden von eigenen Erffnungsbchern in den Speicher des Boards
bzw. zum Speichern und Laden von Spielen.

Neu ist OSA-Monitor, eine UCI-Engine die unter Arena im "Self-Play"-Modus gestartet wird und alle Zge auf einem Brett protokolliert.
Partien knnen dann direkt in Areana gespeichert werden und whrend der Berechnungen knnen alle Computer-Infos betrachtet werden.
Das vom Renaissance bekannte Display und die Anzeigen von Modulen werden so praktisch auch fr die anderen Boards oder Module ohne Display nachgerstet.

Die Arena-Programme in ein Unterverzeichnis (z.B. OSA) der Arena-Engines kopieren und in der Motorenverwaltung von Arena einbinden.
Die Programme nutzen automatisch die COM1: Schnittstelle des PCs, ein Schnittstellenkabel (mit Elektronik) vom OSA-Brett zum PC wird bentigt.

Eine andere Schnittstelle kann als Programmparameter in der Verwaltung eingegeben werden, auch die Baud-Rate lt sich ndern.
Eine kurze Anleitung gibt es, wenn die Programme im Konsolen-Fenster mit /? oder /h gestartet werden.

Optionale Parameter: COM-Port Baudrate (durch Leerzeichen getrennt).
Syntax: COMx:	Zahl
Baudrate ist immer 2ter Parameter, kann weggelassen werden (dann 1200).

z.B. (auch fr OSA-Board)
OSA2UCI COM2: 9600
OSA2UCI COM3:

Spielstufen und andere Einstellungen knnen vorher am Board einstellt werden. Vor Programmstart die richtige Baud-Rate am Board whlen (wenn nicht 1200=Default).
Ich empfehle die Standardbaudrate zu belassen, hhere COM-Geschwindigkeit wirkt sich bei den Rechenzeiten praktisch nicht aus.
Erffnungsbcher mssen abgeschaltet sein, die die OSA-Boards die eigenen Bcher verwenden und ein Spielstart mit Erffnungsvorgabe nicht erkannt wird.

Man kann OSA2UCI auch 2 mal als Motor einbinden und jedem andere COMs zuweisen. Dann knnen 2 Bretter gegeneinander spielen,
natrlich kann das Brett/Modul auch gegen jede andere Arena-Engine spielen. Das Brett ist bei OSA2UCI immer deaktiviert, alles geschieht am PC.

Im Motoren-Fehlersuche-Fenster von Arena kann man die Kommunikation verfolgen. Dort kann auch manuell folgende Zusatzkommandos eingeben:
board - Gibt die aktuelle Brett-Stellung im Saitek-Format aus.
setlevel [level] - Wie beim Saitek selbst definiert, setzt einen Spiellevel oder gibt den aktuellen zurck (z.B. setlevel a3).
Tip: Es ist komfortabel verschiedene Konfigurationen des Programms mit vorgegebenene Spielstufen (setlevel als Initstring in der Motorenverwaltung) anzulegen.

---------------------------

OSA-Board wird genauso als Motor in Arena eingebunden, aber der Saitek rechnet hier nicht selber: der Motor bist DU!

Das Brett ist eingeschaltet und man fhrt einen Zug aus, dieser wird als "Rechenergebnis" an Arena gesendet.
Dann kommt ein Zug von einer anderen Engine, das Programm ist also dazu da, um mit dem Saitek-Brett gegen beliebige Arena-Engines zu spielen,
ohne die Zge am Bildschirm eingeben zu mssen.

Der Saitek kann hier nicht selber rechnen! Hat man zwei, kann man aber den Anderen mit OSA2UCI als Gegner einbinden.

Wird OSA-Board als Schwarz eingebunden, so wird als Default von oben gespielt. Um das Brett zu drehen kann das Kommando "flip" als Initstring in der Motorenverwaltung genutzt werden.

Bedienung OSA-Board:
Nach Start von Areana (z.B. Demo von 2 Engines) steht das Board auf Empfang (wenn nicht schwarz, dann kommt erst der Gegnerzug).
Nach Ausfhrung eines Zuges erscheint er sofort in Arena und die andere Engine beginnt zu rechnen.

Nach dem Bildschirmzug des Gegners dauert es etwas und dann leuchtet das Quellfeld der Gegenerfigur (LED Zeile/Spalte).
Nach Anheben der Figur leuchtet das Zielfeld auf. Also so, als wenn man gegen den Saitek selbst spielt...

Besonderheiten (liegt am Board, habe ich keinen Einfluss drauf):
Bei der Rochade leuchtet erst der Turm oder Knig. Nimmt man ihn hoch, so leuchtet die andere Figur (Knig oder Turm).
Auch sie wird angehoben und beide werden auf die Zielfelder gesetzt.
Bei Schlagzgen leuchtet zunchst das Quellfeld der Figur, nach Anheben leutet das Zielfeld NICHT.
Man wei nun, da es sich um einen Schlagzug handelt und mu erst (blind) die zu schlagende Figur entfernen (i.d.R. selbsterklrend/logisch).
Ist diese entfernt, so leutet das Zielfeld auf und man setzt die schlagende Figur ab.
OK-Zge/Felder leuchten Orange, bei Fehlern leuten die LEDs rot und man kann den Zug korrigieren.

Alle Fehlerflle werden noch nicht behandelt und es kann bei falschen Eingaben zu Fehlzgen kommen.

---------------------------

OSA-Book wird wie die anderen Programme aufgerufen, aber es mu ein Dateiname als Parameter an erster Stelle mitgegeben werden, die anderen Parameter sind optional.
z.B. OSA-Book meinbuch.txt COM2: 9600

Die Laufzeit kann mehrere Minuten betragen, da jeder Zug einzeln gesendet wird und die Boards eine Mindestpause von 750 ms zwischen den Zgen bentigen.
Achtung: Alle im Brett vorhandenen Erffnungen oder Spielstnde werden gelscht und berschrieben.
Wegen der Ladezeiten empfiehlt sich eine Batterie im Board, sonst gehen alle Daten nach Netztrennung verloren.
Es knnen bis zu 383 Erffnungslinien gespeichert werden, die Anzahl aller Einzelzge darf 4000 nicht bersteigen.
Das Laden von OSA-Book.txt (Beispiel mit vollen 383 Linien) dauert ca. 45 Min. auf einem Leo mit Analyst-Modul (ohne Modul ist es schneller).

In der im Programmaufruf genannten Datei befinden sich die Erffnungslinien. Es handelt sich um eine einfache ASCII-Datei (z.B. mit Notepad unter Windows erstellt).
Pro Zeile wird eine Erffnungsline eingetragen, Format: e2e4 e7e5 g1f3 b8c6 usw.
Leerzeichen zwischen den Zgen sind optional, auch Leerzeilen sind erlaubt, ebenso Kommentarzeilen.
Alle Zeilen, die nicht mit einem gltigen Zug-Buchstaben (a-h) anfangen, werden als Kommentar behandelt und ignoriert.
Einige Beispiel-Bcher liegen bei.
Als letzte Zeile kann man "delete" eintragen, dann werden alle nachfolgenden, ungenutzen Speicherbnke im Board gelscht.
Das ist sinnvoll, wenn man den Speicher mit Batterie oder Dauerstrom puffert und die dort mglicherweise vorhandenen Erffnungslinien
nicht mehr bentigt.

---------------------------

OSA-Save und OSA-Load werden wie OSA-Book aufgerufen.
OSA-Save speichert das aktuelle Spiel im Board in eine PGN-Datei, vorhandene Dateien mit gleichem Dateinamen werden berschrieben!
Es handelt sich um ein modifiziertes PGN, was von OSA-Load wieder gelesen werden kann. Natrlich wird die PGN-Datei auch von Arena akzeptiert,
bei anderen PGN-Programmen knnte es aber zu Problemen kommen.
OSA-Load liest eine OSA-konforme PGN-Datei ein und man kann die Partie im Analysemodus (Newgame, Analysis, +) nachspielen
oder fortsetzen, wenn sie noch nicht zu ende ist.

---------------------------

OSA-Monitor wird als einzige Engine (Motor 1) in Arena gestartet und dann wird ein Demo-Spiel ausgefhrt (im rechten Fenster auf Demo klicken).
Arena fordert dann alle Zge abwechselnd fr Weiss und Schwarz an und die OSA-Ausgaben werden passend ausgegeben.
OSA-Monitor luft auch mit div. Shredder-GUIs, es muss nur ein Self-Play einer Engine mglich sein, da nicht 2 OSA-Module gleichzeitig laufen knnen (COM ist belegt).

Was UCI nicht zult sind Rcknahmen, dies wrde als unzulssiger Zug quittiert.
Es ist aber mglich die Demo jederzeit zu unterbrechen (rotes Kreuz neben dem Demo-Button in Arena), dann knnen beliebig Zge auf dem Brett zurck genommen werden.
Ist die Soll-Stellung erreicht muss man mit den Pfeil-Buttons bei Arena auch zur gleichen Stellung zurck navigieren und schaltet dann Demo wieder ein.
Nun kann man einfach weiterspielen, Arena fragt noch wie man die neuen Zge einordnen will, es ist sinnvoll "berschreiben" zu whlen.

Nach Start von Analysis auf dem Brett lassen sich auch beliebige Zge vorgeben und jederzeit im Normal-Modus weiter spielen.
Es sollte auch mglich sein, auf dem Brett eine Stellung aufzubauen und dieselbe Stellung in Arena einzugeben (automatisches Setzen ber UCI ist nicht mglich).
Wenn Bildschirm und Brett bereinstimmen wieder den Motor mit Demo starten.

---------------------------

osa.ini
Alle Programe untersttzen nun eine osa.ini Datei im Programmverzeichnis.
Dort knnen Parameter wie COM-Port und Baudrate eingestellt werden, sie brauchen dann nicht mehr in der Kommandozeile mitgegeben werden.
Kommandozeilenparameter haben aber hhere Prioritt, werden also genommen und berschreiben osa.ini Einstellungen.
Eine Beispeidatei liegt bei (demo_osa.ini), bei Bedarf in osa.ini umbenennen. Die auch beiliegende osa.ini hat nur die Default-Einstellungen.

Werden OSA-Book, OSA-Save oder OSA-Load ohne Parameter aufgerufen, so erscheint ein Datei-Fenster zur Auswahl der zu ladenden oder zu speichernden Datei.
Die weiteren Parameter werden aus der osa.ini gelesen.


Fehler knnen vorkommen und ich bitte um Rckmeldung.
Auch Wnsche nehme ich gern entgegen: achim@pietig.com

Gru
Achim
